package com.chat.service.friend;

import com.chat.entity.Friend;
import com.chat.entity.User;

import java.util.List;
import java.util.Set;

public interface FriendService {
    /**
     * 发送好友申请
     * @param sponsorEmail 发送者
     * @param reciverEmail 接受者
     * @return 是否成功
     */
    boolean sponsorFriend(String sponsorEmail, String reciverEmail);

    /**
     * 接收好友申请
     * @param sponsorEmail 发送者
     * @param reciverMail 接受者
     * @return 是否成功
     */
    boolean acceptFriend(String sponsorEmail,String reciverMail);

    /**
     * 删除一名好友
     * @param sponsorEmail 发起者
     * @param receiverEmail 被删除者
     */
    boolean deleteFriend(String sponsorEmail,String receiverEmail);

    /**
     * 获取待接收的好友申请
     * @param email 用户邮箱
     * @return 待接收的好友集合，普通的java对象
     */
    Set<User> getFriendApply(String email);

    /**
     * 获取好友列表
     * @param email 用户邮箱
     * @return 好友集合
     */
    Set<Friend> getFriends(String email);

    /**
     * 根据用户邮箱和好友对象邮箱获取好友
     * @param sponsorEmail 用户邮箱
     * @param receiverEmail 好友对象邮箱
     * @return 好友对象
     */
    Friend getFriend(String sponsorEmail,String receiverEmail);
}
